Move gbfgets() to QString.
authorrobertlipe <robertlipe@gmail.com>
Wed, 1 Jan 2014 20:00:32 +0000 (20:00 +0000)
committerrobertlipe <robertlipe@gmail.com>
Wed, 1 Jan 2014 20:00:32 +0000 (20:00 +0000)
gpsbabel/gbfile.cc
gpsbabel/gbfile.h
gpsbabel/magproto.cc

index af06e9761be1c3d0f732896481060968a6863791..60ffaaa1423354646ee2f20169a1038100b5df66 100644 (file)
@@ -656,7 +656,7 @@ gbfgetc(gbfile* file)
  * gbfgets: (as fgets)
  */
 
-char*
+QString 
 gbfgets(char* buf, int len, gbfile* file)
 {
   char* result = buf;
@@ -682,7 +682,10 @@ gbfgets(char* buf, int len, gbfile* file)
     }
   }
   *buf = '\0';
-  return (*result != '\0') ? result : NULL;
+
+  QString rv(result);
+  return rv;
+
 }
 
 /*
index b23f1e923e0f91fef03a04e8f16b17cdd9100721..72c1bde5c40883a4a8669152cb1d1b1170f0cc73 100644 (file)
@@ -95,7 +95,7 @@ void gbfclose(gbfile* file);
 
 gbsize_t gbfread(void* buf, const gbsize_t size, const gbsize_t members, gbfile* file);
 int gbfgetc(gbfile* file);
-char* gbfgets(char* buf, int len, gbfile* file);
+QString gbfgets(char* buf, int len, gbfile* file);
 
 int gbvfprintf(gbfile* file, const char* format, va_list ap);
 int gbfprintf(gbfile* file, const char* format, ...);
index 826f39ad58b82b66429ac98b61a8043f8d664981..77fafb623eccb3c16ec237492d6d00cf873e9c9c 100644 (file)
@@ -43,7 +43,7 @@ static int broken_sportrak;
 
 #define debug_serial  (global_opts.debug_level > 1)
 
-static char* termread(char* ibuf, int size);
+static QString termread(char* ibuf, int size);
 static void termwrite(char* obuf, int size);
 static void mag_readmsg(gpsdata_type objective);
 static void mag_handon(void);
@@ -420,13 +420,12 @@ mag_readmsg(gpsdata_type objective)
   int isz;
   unsigned int isum;
   char* isump;
-  char* gr;
   int retrycnt = 20;
 
 retry:
-  gr = termread(ibuf, sizeof(ibuf));
+  QString gr = termread(ibuf, sizeof(ibuf));
 
-  if (!gr) {
+  if (gr.isEmpty()) {
     if (!got_version) {
       /*
        * The 315 can take up to six seconds to respond to
@@ -597,7 +596,7 @@ terminit(const char* portname, int create_ok)
   }
 }
 
-static char* termread(char* ibuf, int size)
+static QString termread(char* ibuf, int size)
 {
   if (is_file) {
     return gbfgets(ibuf, size, magfile_h);